package com.pureut.quality.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pureut.quality.domain.AuditNonconformity;
import com.pureut.quality.domain.AuditNonconformity;
import com.pureut.quality.domain.dto.AuditNonconformityDto;
import com.pureut.quality.domain.dto.AuditNonconformityDto;
import com.pureut.quality.domain.vo.AuditNonconformityVo;
import com.pureut.quality.domain.vo.AuditNonconformityVo;
import com.pureut.quality.domain.vo.SubmitVo;

import java.util.List;


/***
 * 外审不符合项报告
 * Author:C
 * Date:2023/01/18 16:29
 * @DESC
 */
public interface AuditNonconformityService extends IService<AuditNonconformity> {

    /**
     * 查询外审不符合项报告列表
     * @param auditNonconformityVo
     * @return
     */
    List<AuditNonconformityDto> listAuditNonconformity(AuditNonconformityVo auditNonconformityVo);

    /**
     * 查看外审不符合项报告
     * @param id
     * @return
     */
    AuditNonconformityDto getInfo(Long id);

    /**
     * 新增外审不符合项报告
     * @param auditNonconformityVo
     * @return
     */
    boolean insertAuditNonconformity(AuditNonconformityVo auditNonconformityVo);

    /**
     * 修改外审不符合项报告
     * @param auditNonconformityVo
     * @return
     */
    boolean updateAuditNonconformity(AuditNonconformityVo auditNonconformityVo);

    /**
     * 删除外审不符合项报告
     * @param ids
     * @return
     */
    boolean removeAuditNonconformity(String ids);

    /**
     * 提交
     * @param id
     * @return
     */
    boolean submitAuditNonconformity(Long id);

    /**
     * 审核
     * @param submitVo
     * @return
     */
    boolean examineAuditNonconformity(SubmitVo submitVo);

    /**
     * 撤销
     * @param id
     * @return
     */
    boolean revokeAuditNonconformity(Long id);

    /**
     * 关结
     * @param id
     * @return
     */
    boolean closeAuditNonconformity(SubmitVo submitVo);
}
